﻿using System.Collections.Generic;
using GigaSite.Domain.Entities;
using GigaSite.Domain.Interfaces.Repositories;

namespace GigaSite.Domain.Interfaces.Repositories
{
    /// <summary>
    /// Абстрактный репозиторий торговых центров
    /// </summary>
    public interface IShoppingMallsRepository: IBaseRepository<ShoppingMall>
    {
        /// <summary>
        /// Получает негеокодированные торговые центры
        /// </summary>
        /// <returns>Коллекция торговых центров с отсутствующими координатами</returns>
        IEnumerable<ShoppingMall> GetUngeocodedShoppingMalls();

        /// <summary>
        /// Получает связи указанного торгового центра с компаниями
        /// </summary>
        /// <param name="shoppingMall">Торговый центр</param>
        /// <returns>Коллекция объектов связей</returns>
        IEnumerable<Company> GetOrganizationsInShoppingMall(ShoppingMall shoppingMall);
    }
}